package com.umeox.watch.moto.dataservice.interfaces;

import com.umeox.watch.moto.apiclient.model.AgentAppConfigDTO;
import com.umeox.watch.moto.apiclient.model.AgentUsedRecord;
import com.umeox.watch.moto.apiclient.model.ChantsCounterDTO;
import com.umeox.watch.moto.apiclient.model.GetFriendsAttrDTO;
import com.umeox.watch.moto.apiclient.model.StepRankingDTO;
import com.umeox.watch.moto.apiclient.model.StoryDTO;
import com.umeox.watch.moto.apiclient.model.TaskRecordInfoDTO;
import com.umeox.watch.moto.apiclient.model.UserAgentDTO;

import java.util.List;

public interface IPushApiClient extends android.os.IInterface {
    String DESCRIPTOR = "com.umeox.watch.moto.dataservice.interfaces.IPushApiClient";
    int TRANSACTION_SERVER_CONFIG = android.os.IBinder.FIRST_CALL_TRANSACTION;
    int TRANSACTION_DEVICE_CONFIG = android.os.IBinder.FIRST_CALL_TRANSACTION + 1;
    int TRANSACTION_BIND = android.os.IBinder.FIRST_CALL_TRANSACTION + 2;
    int TRANSACTION_UNBIND = android.os.IBinder.FIRST_CALL_TRANSACTION + 3;
    int TRANSACTION_REQUEST_GET_CONTACTS = android.os.IBinder.FIRST_CALL_TRANSACTION + 4;
    int TRANSACTION_REQUEST_GET_BUDDIES = android.os.IBinder.FIRST_CALL_TRANSACTION + 5;
    int TRANSACTION_LOCTION_PERIODS_CONFIG = android.os.IBinder.FIRST_CALL_TRANSACTION + 6;
    int TRANSACTION_FORBID_PERIODS_CONFIG = android.os.IBinder.FIRST_CALL_TRANSACTION + 7;
    int TRANSACTION_REQUEST_GET_ALARM_CLOCKS = android.os.IBinder.FIRST_CALL_TRANSACTION + 8;
    int TRANSACTION_REQUEST_GET_WIFI_SETTINGS = android.os.IBinder.FIRST_CALL_TRANSACTION + 9;
    int TRANSACTION_REQUEST_GET_WALLPAPERS = android.os.IBinder.FIRST_CALL_TRANSACTION + 10;
    int TRANSACTION_REQUEST_GET_STEPINFO = android.os.IBinder.FIRST_CALL_TRANSACTION + 11;
    int TRANSACTION_REQUEST_GET_BINDCODE = android.os.IBinder.FIRST_CALL_TRANSACTION + 12;
    int TRANSACTION_GET_RECOMMEND_STORIES = android.os.IBinder.FIRST_CALL_TRANSACTION + 13;
    int TRANSACTION_GET_STORIES_PAGE = android.os.IBinder.FIRST_CALL_TRANSACTION + 14;
    int TRANSACTION_GET_STEP_RANKING = android.os.IBinder.FIRST_CALL_TRANSACTION + 15;
    int TRANSACTION_GET_TASK_RECORD = android.os.IBinder.FIRST_CALL_TRANSACTION + 16;
    int TRANSACTION_GET_CHANTS_COUNTER = android.os.IBinder.FIRST_CALL_TRANSACTION + 17;
    int TRANSACTION_GET_FRIENDS_ATTR = android.os.IBinder.FIRST_CALL_TRANSACTION + 18;
    int TRANSACTION_CREATE_GROUP = android.os.IBinder.FIRST_CALL_TRANSACTION + 19;
    int TRANSACTION_UPDATE_GROUP = android.os.IBinder.FIRST_CALL_TRANSACTION + 20;
    int TRANSACTION_INVITE_JOIN_GROUP = android.os.IBinder.FIRST_CALL_TRANSACTION + 21;
    int TRANSACTION_REMOVE_GROUP_MEMBER = android.os.IBinder.FIRST_CALL_TRANSACTION + 22;
    int TRANSACTION_QUIT_GROUP = android.os.IBinder.FIRST_CALL_TRANSACTION + 23;
    int TRANSACTION_GET_AGENT_USER = android.os.IBinder.FIRST_CALL_TRANSACTION + 24;
    int TRANSACTION_GET_AGENT_APP_CONFIG = android.os.IBinder.FIRST_CALL_TRANSACTION + 25;
    int TRANSACTION_SUBMIT_AGENT_USED_RECORD = android.os.IBinder.FIRST_CALL_TRANSACTION + 26;

    void serverConfig() throws android.os.RemoteException;

    void deviceConfig() throws android.os.RemoteException;

    void bind() throws android.os.RemoteException;

    void unbind() throws android.os.RemoteException;

    void requestGetContacts() throws android.os.RemoteException;

    void requestGetBuddies() throws android.os.RemoteException;

    void locationPeriodsConfig() throws android.os.RemoteException;

    void forbidPeriodsConfig() throws android.os.RemoteException;

    void requestGetAlarmClocks() throws android.os.RemoteException;

    void requestGetWifiSettings() throws android.os.RemoteException;

    void requestGetWallpapers() throws android.os.RemoteException;

    void requestGetStepInfo() throws android.os.RemoteException;

    void requestGetBindCode() throws android.os.RemoteException;

    List<StoryDTO> getStoriesPage() throws android.os.RemoteException;

    List<StoryDTO> getRecommendStories() throws android.os.RemoteException;

    StepRankingDTO getStepRanking() throws android.os.RemoteException;

    TaskRecordInfoDTO getTaskRecord() throws android.os.RemoteException;

    ChantsCounterDTO getChantsCounter() throws android.os.RemoteException;

    GetFriendsAttrDTO getFriendsAttr() throws android.os.RemoteException;

    void createGroup(String groupName, List<String> friendIds) throws android.os.RemoteException;

    void updateGroup(String groupId, String groupName) throws android.os.RemoteException;

    void inviteJoinGroup(String groupId, List<String> friendIds) throws android.os.RemoteException;

    void removeGroupMember(String groupId, List<String> friendIds) throws android.os.RemoteException;

    void quitGroup(String groupId) throws android.os.RemoteException;

    UserAgentDTO getAgentUser(String appKey, String agentId, String userId) throws android.os.RemoteException;

    AgentAppConfigDTO getAgentAppConfig(String appKey, String userId, int type) throws android.os.RemoteException;

    void submitAgentUsedRecord(String appKey, String userId, List<AgentUsedRecord> details) throws android.os.RemoteException;
}
